import axios from 'axios'
import { ElMessage } from 'element-plus'
let url = import.meta.env.VITE_API_SERVER

// if (window.location.href.indexOf('192.168') !== -1) {
//   url = 'http://192.168.2.107:8401'
// }
 url = 'https://www.chargesystem.cn'
//  url = 'http://101.43.94.70:8200'
const interceptorService = axios.create({
  baseURL: url, // api的base_url
  timeout: 300000, // 请求超时时间
})

// request拦截器
interceptorService.interceptors.request.use(
  (config:any) => {
    // const store = useUserStore()
    // if (store.token && store.tokenHeader) {
    //   // @ts-ignore
    //   config.headers[store.tokenHeader] = store.token // 让每个请求携带自定义token 请根据实际情况自行修改
    // }
    return config
  },
  (error:any) => {
    // Do something with request error
    console.log(error) // for debug
  }
)

// respone拦截器
interceptorService.interceptors.response.use(
  (response) => {
    /**
     * code为非200是抛错 可结合自己业务进行修改
     */

    const res = response.data
    if (response.status === 200 && !res.code) {
      return response.data
    } else if (res.code !== 200) {
      // window.alert(res.message)
      return Promise.reject(res)
    } else {
      return res
    }
  },
  (error) => {
    const originalRequest = error.config

    console.log(error)

    if (error.response.status == 401) {
      ElMessage({
        message: '您的账号已在其他地登录，请退出后重新登录',
        type: 'info',
        duration: 3 * 1000,
        grouping: true,
      })
      setTimeout(() => {
        // const userStore = useUserStore()
        // userStore.logoutWithoutApi()
      }, 1000)

      return Promise.reject(error)
    } else {
      // ElMessage.error('网络不太给力，稍后再试试吧')
      return Promise.reject(error)
    }
  }
)

export default interceptorService

const service = axios.create({
  baseURL: url, // api的base_url
  timeout: 30000, // 请求超时时间
})


export { service }
